home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 4 / Amiga Tools 4.iso / tools / internet-tools / wwwcache2.0 / cache.doc < prev    next >
Encoding:
Text File  |  1996-02-26  |  12.8 KB  |  238 lines

  1.   $VER: Cache.www 2.0 (11.12.95) Stephan Lichtendahl
  2.  
  3.   Freeware
  4.  
  5. Purpose:
  6. Saves inlined images to harddisk to prevent them from being
  7. downloaded every time you want to see them. Then they can
  8. be loaded every time from harddisk instead, which is a bit
  9. faster :-)
  10. Also, HTML documents can be saved in a way that all remote
  11. links remain remote and links to documents, which are already
  12. on your harddisk, will automatically be replaced with local
  13. ones. A convenient hotlist as HTML document will be created.
  14.  
  15. Requirements:
  16. -AMosaic (tested with NoNet 1.2 and AmiTCP 1.3beta & 2.0pre-release versions)
  17. -probably OS3.x for inlined images to work
  18. -Arexx running
  19. -rexxsupport.library (tested with version 34.9)
  20. -rexxdossupport.library (tested with version 2.1, 2.3 & 2.4)
  21. -getstring for resaving local documents  (included)
  22.  
  23. Installation / Usage:
  24. 1. Copy the Cache.www Arexx script to rexx: or somewhere else, as
  25.  long as it's in your path.
  26.  If you have been using previous versions of the script, you must
  27.  execute the ConvCache.rexx script which will update all documents,
  28.  ImageList, HTMLlist, Cache.html, create the directory tree and
  29.  move all files in it. The Env(Arc):Mosaic/.mosaic-hotlist-default
  30.  will be updated as well. It can take quiet some time...
  31.  Make sure you change the cachedir occurence at the top of the
  32.  ConvCache.rexx script (see 3) to match your old cache directory.
  33.  The directory tree will be created in that directory, so you
  34.  must use the same definition in the Cache.www script.
  35.  When you expect any problems, make a backup of the ImageList and
  36.  HTMLlist files first, because the ConvCache.rexx script can't cope
  37.  with the new format files.
  38.  After that, you don't need the ConvCache.rexx script any more.
  39.  
  40. 2. Copy the Cache directory to any place you want, but note that you
  41.  can't ever move it to another place, unless you use assigns in the
  42.  definition of the cachedir (see 3).
  43.  It initially only contains some empty files (ImageList & HTMLlist),
  44.  and there is a Cache.html document which will be updated with all HTML
  45.  documents you save or remove. The images and HTMLs that are saved will
  46.  be noted in the appropriate ...list files, so those files are very
  47.  important!
  48.  When adding or removing a document a DoHTMLlist is created, which is
  49.  used for the Update feature (see 9).
  50.  
  51.  When using the script a directory tree will be created closely
  52.  resembling the path of the URL of the images and documents you save.
  53.  So, for example, document http://www.omnipresence.com/amosaic/2.0/
  54.  will be saved as cachedir/www.omnipresence.com/amosaic/2.0/.html
  55.  Note in this case .html is added automatically, because a filename
  56.  is missing.
  57.  
  58. 3. Edit the Cache.www script with a text editor, make sure you only
  59.  change the following line (at the top):
  60.  
  61.  cachedir='AmiTCP:Cache/'
  62.  
  63.  This is the definition of the cache directory, you MUST change this
  64.  if you didn't put the cache directory in AmiTCP:
  65.  Note it is a good idea to use an assign in the definition to prevent
  66.  problems later on when the path of the cache directory changes.
  67.  The definition can't contain spaces or " and must end with a / or :
  68.  character. There must also be a : in it and ' characters around it.
  69.  
  70.  Important: when using version 2.1 of rexxdossupport.library, change
  71.  both occurences of rexxdossupport.library a few lines below to
  72.  RexxDosSupport.library. This is also true for the ConvCache.rexx script.
  73.  
  74. 4.If you want to run the Cache.www script from AMosaic, which is a very
  75.  good idea, add the following entrys to your env(arc):mosaic/prefs :
  76.  
  77.  RexxMacro<n>   Get/put images from/in cache   |"address command 'Run >Nil: Rx Cache.www' address()"
  78.  RexxMacro<n+1> Same as above & save this page |"address command 'Run >Nil: Rx Cache.www Save' address()"
  79.  RexxMacro<n+2> Reload cached page from the WWW|"address command 'Run >Nil: Rx Cache.www Load' address()"
  80.  RexxMacro<n+3> Remove page & images from cache|"address command 'Run >Nil: Rx Cache.www Remove' address()"
  81.  
  82.  with <n>,<n+1>,etc the numbers of the arexx macro. For some strange reason
  83.  it is necessary to `Run' this arexx script instead of directly through
  84.  arexx, otherwise AMosaic hangs. Rx must be in the path (i recommend you
  85.  make Rx resident if you use arexx scripts alot).
  86.  The address() function tells the script what Arexx port to use, so you can use
  87.  multiple AMosaic windows. Without it, `AMOSAIC.1' is assumed to be the Arexx port.
  88.  
  89.  Of course DelayImageLoads must be True, otherwise the script will not be
  90.  of much help. You can turn it off again in AMosaic when reading cached
  91.  documents with the options menu.
  92.  Note, that when using AmosaicPrefs long lines can be chopped off, in that
  93.  case use a normal text editor to edit the prefs file. Also the checkbox
  94.  gadget for DelayImageLoads doesn't work as expected: the checkmark is there
  95.  also when DelayImageLoads is false, just check it again by clicking on it.
  96.  
  97. 5.Run the script every time you want something to happen with the current
  98.  HTML document you are viewing in AMosaic.
  99.  -with inlined images which have not been loaded and aren't on your harddisk
  100.   nothing will happen (download them yourself)
  101.  -inlined images which are on your harddisk will be loaded and will be displayed
  102.  -inlined images which have been downloaded will be saved on harddisk
  103.  
  104.  Normally you would first execute the script to load all images already on your
  105.  harddisk, then manually download the rest of the images you want (or choose
  106.  `Load images in current' from AMosaic's `Options' menu) and then run the script
  107.  again to save the ones you downloaded.
  108.  When you are viewing a remote document and there are images for it on harddisk
  109.  you will automatically view a copy of it (...localhost/T:temphtml... in the URL)
  110.  in which the images are loaded. But all links will still be remote ones!
  111.  At the bottom of the document you will see `This is a temporal page created by
  112.  WWWCache 2.0 © S.Lichtendahl': click on it to email me.
  113.  
  114. 6.When you want to do the same as 6 but also save the document then choose that
  115.  menu item from the rexx macros. There are a number of differences between this
  116.  feature and the normal save document as HTML feature of AMosaic:
  117.  -All links in the document will still be remote ones (links are normally relative
  118.   to the current document, so they would be relative to your harddisk).
  119.  
  120.  -If you are viewing a local document from the cache directory tree it will
  121.   automatically be saved under the same name. Handy when more inline images have
  122.   been cached, as those image links will then also be saved as local.
  123.   You can reload the original page from the WWW with the Load option (rx Cache.www
  124.   Load) and then maybe save it again with the Save option (rx Cache.www Save).
  125.  
  126.  -If you are viewing a remote document, it's existence in the HTMLlist will be
  127.   checked, and if available the document will be saved under the same name (as
  128.   above). Otherwise the document is saved with the same path as the URL,
  129.   creating extra directorys if necessary.
  130.  -When saving a document for the first time, ALL HTML documents already in the
  131.   cachedir/HTMLs directory will be checked for the URL of the current document
  132.   and replaced with a local URL pointing to the document on harddisk.
  133.   Also, the document title will be added to cachedir/Cache.html with a link to
  134.   the document you saved, so you can simply use that HTML page as a hotlist
  135.   to jump to all your HTML documents in the directory tree.
  136.  -When saving a HTML document all links in the document are checked for existence
  137.   on your harddisk, links to cached documents already in the directory tree
  138.   will be replaced with local ones. (So you see it works both ways).
  139.  
  140.  -You cannot save a document with ...localhost/T:temphtml... in the URL, which is
  141.   a copy of the current document created by Cache.www, you will automatically
  142.   move back to the original document. Same case with the Load option.
  143.  
  144.  -When you try to save a local document not saved with the Cache.www script
  145.   (eg. the HTML documents you had already on your harddisk, or the ones which
  146.   were saved with the Save Document as HTML feature from AMosaic) you will be
  147.   prompted for a URL (you need getstring for this).
  148.   When using a local URL the links in it will not be of much use, you can see
  149.   this as AMosaic tries the load the inlined images.
  150.   If you enter the original URL for that document, however, all relative links
  151.   will be saved as remote ones with that URL in it, and you will be viewing
  152.   the new document in cachedir/HTMLs. Now you must save that one to check
  153.   for images or links to documents already in then directory tree on harddisk
  154.   and let the script replace the URL's as appropriate.
  155.   You could use this feature to "enhance" you old documents.
  156.  
  157. 7.You can view the saved document with the `Open Local' menu-item from AMosaic,
  158.  as you would normally do, or `Open Local' the cachedir/Cache.html and click on
  159.  the document you want. Then use the `Load images in current' menu-item to
  160.  load all available images, if you had updated the document after those images
  161.  became available, otherwise just execute the Cache.www script (you could
  162.  always execute the CacheImages script to view all available images, local
  163.  images will be loaded automatically, cached images in a copy of the document).
  164.  
  165. 8. You can use `rx Cache.www Remove' or the equivalent menu-item to
  166.  delete the current HTML document and all its images, that is to say, the
  167.  ones that are visible (ie. loaded) at the moment (so use Flush Image Cache
  168.  from the AMosaic menu first, if you only want to delete the document).
  169.  
  170. 9. This is how the new `update .mosaic-hotlist-default' feature works:
  171.  Use `rx Cache.www Update' followed by the name of your AMosaic program
  172.  (with path if necessary). When the script finishes, AMosaic will be
  173.  started.  What update does, is that it will use the DoHTMLlist to make
  174.  all necessary changes in  env(arc):mosaic/.mosaic-hotlist-default.
  175.  For all removed documents, the links will be replaced with the original
  176.  remote ones.
  177.  For new documents, an already existing remote link will be replaced with
  178.  a local one or a new entry will be made in the root of your hotlist.
  179.  You can distinguish a link to a cached document from a remote link by
  180.  the © character in front of the title in the hotlist.
  181.  
  182.  Now you can use AMosaic's hotlist menu (or if you don't have 2.0beta,
  183.  you can use the AMhotlist program) to organize your hotlist better,
  184.  first thing will probably be to get all those links out of the root.
  185.  If you use the update feature every time to start AMosaic, you will make
  186.  sure any changes in cached documents (removed/added) you made the last
  187.  time will be reflected in the hotlist, and any changes you will make
  188.  now will be seen the next time you update & start AMosaic.
  189.  
  190.  Now why didn't i make my script update the hotlist every time you add or
  191.  remove a cached document?  Because it wouldn't work.
  192.  AMosaic 2.0beta and AMhotlist load env:mosaic/.mosaic-hotlist-default
  193.  only on startup, so they don't know what changes the script will make
  194.  to it, and when they write env(arc):mosaic/.mosaic-hotlist-default,
  195.  they will write the original file with only the changes they made to it.
  196.  (The same problem you will have when you use AMhotlist and the hotlist
  197.  menu of AMosaic 2.0beta, and change something in one of the programs).
  198.  
  199. Notes:
  200.  When making use of the update feature, don't delete the Cache.html document,
  201.  it is still needed (and updated) by the script.
  202.  
  203.  When deleting images or HTML documents from the cache directory, all HTML
  204.  documents in the directory tree will be checked for the local URL of the image
  205.  or HTML document you delete and replaced with the original remote one.
  206.  This is the exact opposite of saving a HTML document (see above),  but NOT
  207.  of saving an image:
  208.  When saving an image no checks are made, so local documents can still have
  209.  the remote URL of that image. This is not much of a problem, however,
  210.  because when you run the script when viewing a document (local or remote)
  211.  automatically you will be viewing a copy (if necessary of course) in which
  212.  the local images will be loaded. The document links in it, will not
  213.  automatically be replaced with local ones for the HTML documents on your
  214.  harddisk (that would make browsing the WWW for updated documents impossible),
  215.  but when saving a HTML document all its links to HTML documents or images
  216.  already on your harddisk will be replaced by local ones and you will be
  217.  viewing the saved document.
  218.  
  219.  Overwriting an image is only possible when you choose to download it before
  220.  you let the script load it from harddisk.
  221.  
  222.  Forms will also work with saved documents (provided that you have AMosaic 2.0).
  223.  Forms-support in AMosaic 2.0beta works best with MUI 3.1 (less buggy).
  224.  
  225.  All HTML documents, ImageList & HTMLlist cannot exceed 64Kbyte in file size
  226.  each. This is mainly because of the AMosaic <> Arexx interface, but should
  227.  be not much of a problem, i hope.
  228.  
  229.  
  230. Bugs,comments,suggestions,questions:
  231.  
  232. Stephan Lichtendahl - Netherlands
  233.  
  234. Amiga 1200/030/33MHz/MMU/FPU/6MB/385MB/OS3.0 & CD32
  235.  
  236. Email: s.e.m.lichtendahl@et.tudelft.nl
  237.  
  238.